package com.chinacoal.microservice.impl.service;

import java.util.Map;

import org.springframework.http.ResponseEntity;

import com.chinacoal.microservice.api.model.ForeignTaskParam;
import com.chinacoal.microservice.api.model.resource.BusinessData;
import com.chinacoal.microservice.util.result.Result;

/**
 * @Description: 集团慧点OA系统待办集成
 * @author linp
 * @date 2020年4月21日 下午3:57:34
 * @version V1.0
 */
public interface OaTaskService {

	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月11日 下午6:00:06
	 * 描述 : OA系统“代办详情”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : getTaskDetails
	 *  Result<BusinessData>  
	 *  @throws
	 */
	public Result<BusinessData> getTaskDetails(ForeignTaskParam foreignTaskParam) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 上午10:54:00
	 * 描述 : OA系统“下一环节”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : taskNextNode
	 *  Result<Object>  
	 *  @throws
	 */
	public Result<Object> taskNextNode(Map<String, Object> param) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 下午2:04:40
	 * 描述 : OA系统“驳回”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : taskReject
	 *  Result<Object>  
	 *  @throws
	 */
	public Result<Object> taskReject(Map<String, Object> param) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 下午2:05:34
	 * 描述 : OA系统“会签”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : taskCountersign
	 *  Result<Object>  
	 *  @throws
	 */
	public Result<Object> taskCountersign(Map<String, Object> param) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 下午2:07:10
	 * 描述 : OA系统“接收”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : taskAccept
	 *  Result<Object>  
	 *  @throws
	 */
	public Result<Object> taskAccept(Map<String, Object> param) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 下午2:09:18
	 * 描述 : OA系统“提交”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : taskSubmit
	 *  Result<Object>  
	 *  @throws
	 */
	public Result<Object> taskSubmit(Map<String, Object> param) throws Exception;
	
	/**
	 * 
	 * 创建人 : yn
	 * 创建时间 : 2020年5月12日 下午2:10:42
	 * 描述 : OA系统“下载附件”
	 * 包名 : com.chinacoal.microservice.impl.service
	 * 方法名 : downloadAttach
	 *  ResponseEntity<byte[]>  
	 *  @throws
	 */
	public ResponseEntity<byte[]> downloadAttach(String fileName, String filePath, String sysTaskId) throws Exception;
	
}
